<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/templates/masterLayout.xhtml">

	<ui:define name="title">
			#{msg['btn.local']}
		</ui:define>

	<ui:define name="content">

		<p:growl id="mensaje" showDetail="true" life="7000" />

		<p:panel id="panel"
			header="#{msg['lbl.listadoDe']} #{msg['lbl.locales']}"
			style="margin-bottom:10px;">

			<h:form id="formDataTable">

				<p:dataTable id="tablaLocales" var="local" scrollable="true"
					styleClass="ui-datatable-scrollable-body"
					value="#{localBean.listaLocales}" paginator="true" rows="10"
					emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom"
					rowStyleClass="#{local.activo eq true ? null:'desactivo'}">

					<f:facet name="header">
						<h:form>
							<p:tooltip for="btnNuevo" value="#{msg['lbl.insertar']}" />
							<p:commandButton update=":formNuevo"
								oncomplete="PF('localDialogoNuevo').show()" id="btnNuevo"
								icon="ui-icon-plus" actionListener="#{localBean.limpiarObjetos}" />
						</h:form>
					</f:facet>

					<p:column headerText="#{msg['lbl.gestionar']}"
						style="text-align:center;">
						<p:tooltip for="btnMostrar" value="MOSTRAR" />
						<p:tooltip for="btnEditar" value="EDITAR" />
						<p:tooltip for="btnEliminar"
							value="#{local.activo eq true ? msg['lbl.desactivar']:msg['lbl.activar']}" />
						<p:tooltip for="btnCajeros" value="CAJEROS" />

						<p:commandButton id="btnMostrar" update=":formMostrar"
							oncomplete="PF('localDialogoMostrar').show()"
							icon="#{msg['iconoMostrar']}">
							<f:setPropertyActionListener value="#{local}"
								target="#{localBean.local}" />
						</p:commandButton>

						<p:commandButton id="btnEditar" update=":formEditar"
							oncomplete="PF('localDialogoEditar').show()"
							icon="#{msg['iconoEditar']}">
							<f:setPropertyActionListener value="#{local}"
								target="#{localBean.local}" />
						</p:commandButton>

						<p:commandButton id="btnEliminar" update=":formEliminar"
							oncomplete="PF('localDialogoEliminar').show()"
							icon="#{local.activo eq true ? 'ui-icon-close':'ui-icon-check'}">
							<f:setPropertyActionListener value="#{local}"
								target="#{localBean.local}" />
						</p:commandButton>

						<p:commandButton id="btnCajeros" update=":formCajeros"
							oncomplete="PF('cajerosDialogoNuevo').show()"
							icon="ui-icon-person" action="#{localBean.limpiarCajeros}">
							<f:setPropertyActionListener value="#{local}"
								target="#{localBean.local}" />
						</p:commandButton>

					</p:column>

					<p:column headerText="NOMBRE" filterBy="#{local.nombre}"
						style="text-align:center;">  
            			#{local.nombre}  
        			</p:column>

					<p:column headerText="CIUDAD" filterBy="#{local.ciudad}"
						style="text-align:center;">  
            			#{local.ciudad}  
        			</p:column>

					<p:column headerText="DIRECCION" filterBy="#{local.direccion}"
						style="text-align:center;">  
            			#{local.direccion}  
        			</p:column>

				</p:dataTable>
			</h:form>

		</p:panel>

		<p:dialog widgetVar="localDialogoEliminar" severity="alert"
			header="ACTIVAR / DESACTIVAR LOCAL" showEffect="explode"
			hideEffect="explode" modal="false" resizable="false" width="230px">
			<h:form id="formEliminar">

				<h:inputHidden value="#{localBean.local.localid}" />
				<br />
				<ui:param name="appreciated"
					value="¿ DESEA DESACTIVAR EL LOCAL: #{localBean.local.nombre} ?" />
				<ui:param name="notAppreciated"
					value="¿ DESEA ACTIVAR EL LOCAL: #{localBean.local.nombre} ?" />
				<h:outputText
					value="#{localBean.local.activo eq true ? appreciated : notAppreciated}" />
				<br />
				<br />
				<p:commandButton value="#{msg['btn.aceptar']}"
					update=":formDataTable,:mensaje" icon="#{msg['iconoAceptar']}"
					oncomplete="PF('localDialogoEliminar').hide()"
					actionListener="#{localBean.eliminar}" />
				<p:commandButton value="#{msg['btn.cancelar']}" type="button"
					onclick="PF('localDialogoEliminar').hide()"
					icon="#{msg['iconoCancelar']}" />
			</h:form>
		</p:dialog>

		<p:dialog widgetVar="cajeroDialogoEliminar" severity="alert"
			header="ACTIVAR/DESACTIVAR CAJERO" showEffect="explode"
			hideEffect="explode" modal="false" resizable="false" width="230px"
			style="text-align: center;">
			<h:form id="formCajeroEliminar">
				<h:inputHidden value="#{localBean.encargado.localempleadocargoid}" />
				<br />
				<ui:param name="appreciated"
					value="¿ DESEA DESACTIVAR EL CAJERO: #{localBean.encargado.empleadocargo.empleado.persona.apellido} #{localBean.encargado.empleadocargo.empleado.persona.nombre} ?" />
				<ui:param name="notAppreciated"
					value="¿ DESEA ACTIVAR EL CAJERO: #{localBean.encargado.empleadocargo.empleado.persona.apellido} #{localBean.encargado.empleadocargo.empleado.persona.nombre} ?" />
				<h:outputText
					value="#{localBean.encargado.activo eq true ? appreciated : notAppreciated}" />
				<br />
				<br />
				<p:commandButton value="#{msg['btn.aceptar']}"
					update=":formCajeroEliminar,:formCajeros:tablaCajero, :mensaje"
					icon="#{msg['iconoAceptar']}"
					oncomplete="PF('cajeroDialogoEliminar').hide()"
					actionListener="#{localBean.eliminarCajero}" />
				<p:commandButton value="#{msg['btn.cancelar']}" type="button"
					onclick="PF('cajeroDialogoEliminar').hide()"
					update=":formCajeroEliminar" icon="#{msg['iconoCancelar']}" />
			</h:form>
		</p:dialog>

		<p:dialog header="INSERTAR LOCAL" widgetVar="localDialogoNuevo"
			resizable="false" modal="fasle" showEffect="explode"
			hideEffect="explode" id="dialogoNuevo">

			<h:form id="formNuevo">

				<p:focus context="formNuevo" />

				<h:panelGrid id="panelNuevo" columns="2" cellpadding="5">

					<h:outputText value="NOMBRE:" />
					<p:inputText value="#{localBean.local.nombre}"
						onblur="this.value=this.value.toUpperCase();" required="true"
						requiredMessage="INGRESE UNA BODEGA" />

					<h:outputText value="CIUDAD:" />
					<p:selectOneMenu id="comboCiudad" filter="true"
						filterMatchMode="contains" value="#{localBean.local.ciudad}"
						required="true" requiredMessage="ESCOJA UNA CIUDAD">
						<f:selectItem itemLabel="ESCOJA UNA CIUDAD" />
						<f:selectItems value="#{localBean.listaCiudades}" var="ciudad"
							itemValue="#{ciudad.nombre}" itemLabel="#{ciudad.nombre}" />
					</p:selectOneMenu>

					<h:outputText value="DIRECCION:" />
					<p:inputText value="#{localBean.local.direccion}"
						onblur="this.value=this.value.toUpperCase();" />

					<h:outputText value="BODEGAS:" />
					<p:selectOneMenu value="#{localBean.bodega.bodegaid}"
						styleClass="comboFormNuevo" required="true"
						requiredMessage="ESCOJA UN BODEGA">
						<f:selectItem itemLabel="ESCOJA UNA BODEGA" id="comboFormNuevo" />
						<f:selectItems value="#{bodegaBean.listaBodegas}" var="bodega"
							itemValue="#{bodega.bodegaid}" itemLabel="#{bodega.nombre}" />
					</p:selectOneMenu>

					<f:facet name="footer">
						<p:separator />
						<p:commandButton value="#{msg['btn.guardar']}"
							update=":formDataTable ,:mensaje, formNuevo"
							oncomplete="comprobar(xhr, status, args)" id="btnNuevoAceptar"
							icon="#{msg['iconoGuardar']}"
							actionListener="#{localBean.insertar}" />

						<p:commandButton value="#{msg['btn.cancelar']}"
							oncomplete="PF('localDialogoNuevo').hide()" id="btnNuevolimpiar"
							icon="#{msg['iconoCancelar']}"
							actionListener="#{localBean.limpiar}" process="@this" />
					</f:facet>
				</h:panelGrid>
			</h:form>
		</p:dialog>

		<p:dialog header="MOSTRAR LOCAL" widgetVar="localDialogoMostrar"
			resizable="false" modal="false" showEffect="puff"
			hideEffect="explode" id="dialogoMostrar" width="50%">

			<h:form id="formMostrar">
				<h:panelGrid id="panelMostrar" columns="2" cellpadding="1">
					<h:outputText value=" NOMBRE:" />
					<h:outputText value="#{localBean.local.nombre}"
						style="font-weight:bold" />

					<h:outputText value="CIUDAD:" />
					<h:outputText value="#{localBean.local.ciudad}"
						style="font-weight:bold" />

					<h:outputText value="DIRECCION:" />
					<h:outputText value="#{localBean.local.direccion}"
						style="font-weight:bold" />
				</h:panelGrid>

				<h:outputText value="BODEGAS QUE SUMINISTRAN:" />
				<p:dataTable var="bodega" value="#{localBean.local.bodegalocals}">
					<p:column headerText="NOMBRE">
							#{bodega.bodega.nombre}
						</p:column>
					<p:column headerText="CIUDAD">
							#{bodega.bodega.ciudad}
						</p:column>
					<p:column headerText="DIRECCIÓN">
							#{bodega.bodega.direccion}
						</p:column>
				</p:dataTable>

				<h:outputText value="CAJEROS:" />
				<p:dataTable var="encargado"
					value="#{localBean.local.localempleadocargos}"
					rowStyleClass="#{encargado.activo eq true ? null:'desactivo'}">

					<p:column headerText="CEDULA">
							#{encargado.empleadocargo.empleado.persona.cedula}
						</p:column>
					<p:column headerText="NOMBRE">
							#{encargado.empleadocargo.empleado.persona.apellido} #{encargado.empleadocargo.empleado.persona.nombre}
						</p:column>
					<p:column headerText="FECHA INICIO">
							#{encargado.empleadocargo.fechainicio}
						</p:column>
				</p:dataTable>

			</h:form>
		</p:dialog>

		<p:dialog header="EDITAR LOCAL" widgetVar="localDialogoEditar"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoEditar" width="auto">

			<h:form id="formEditar">

				<p:focus context="formEditar" />

				<h:panelGrid id="panelEditar" columns="2" cellpadding="1">

					<h:outputText value="NOMBRE:" />
					<p:inputText value="#{localBean.local.nombre}"
						onblur="this.value=this.value.toUpperCase();" required="true"
						requiredMessage="INSERTE UN LOCAL" />

					<h:outputText value="CIUDAD:" />
					<p:selectOneMenu id="comboCiudad" filter="true"
						filterMatchMode="contains" value="#{localBean.local.ciudad}"
						required="true" requiredMessage="ESCOJA UNA CIUDAD">
						<f:selectItem itemLabel="ESCOJA UNA CIUDAD" />
						<f:selectItems value="#{localBean.listaCiudades}" var="ciudad"
							itemValue="#{ciudad.nombre}" itemLabel="#{ciudad.nombre}" />
					</p:selectOneMenu>

					<h:outputText value="DIRECCION:" />
					<p:inputText value="#{localBean.local.direccion}"
						onblur="this.value=this.value.toUpperCase();" />

					<h:outputText value="BODEGAS:" />
					<p:dataTable id="tablaBodega" var="suministrars"
						value="#{localBean.local.bodegalocals}" editable="true"
						editMode="cell">
						<p:ajax update="tablaBodega" event="cellEdit"
							listener="#{localBean.modificarBodega}" />
						<p:column headerText="BODEGA">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{suministrars.bodega.nombre}" />
								</f:facet>
								<f:facet name="input">
									<p:selectOneMenu value="#{suministrars.bodega.bodegaid}"
										styleClass="comboFormNuevo">
										<f:selectItem itemLabel="ESCOJA UNA BODEGA"
											id="comboFormNuevo" />
										<f:selectItems value="#{bodegaBean.listaBodegas}" var="bodega"
											itemValue="#{bodega.bodegaid}" itemLabel="#{bodega.nombre}" />
									</p:selectOneMenu>
								</f:facet>
							</p:cellEditor>
						</p:column>
					</p:dataTable>

					<f:facet name="footer">
						<p:separator />
						<p:commandButton value="#{msg['btn.guardar']}"
							update=":formDataTable ,:mensaje, formEditar"
							oncomplete="comprobar(xhr, status, args)" id="btnEditarAceptar"
							icon="#{msg['iconoGuardar']}"
							actionListener="#{localBean.actualizar}" />

						<p:commandButton value="#{msg['btn.cancelar']}"
							oncomplete="PF('localDialogoEditar').hide()"
							id="btnEditarlimpiar" icon="#{msg['iconoCancelar']}" />
					</f:facet>

				</h:panelGrid>
			</h:form>
		</p:dialog>

		<p:dialog header="AGREGAR CAJEROS" widgetVar="cajerosDialogoNuevo"
			resizable="false" modal="fasle" showEffect="explode"
			hideEffect="explode" width="50%">
			<h:form id="formCajeros">
				<p:focus context="formCajeros" />
				<h:panelGrid columns="1">
					<h:panelGrid columns="3">
						<h:outputText value="CAJERO:" />
						<p:selectOneMenu id="comboCajeros" filter="true"
							value="#{localBean.cajero.empleadocargoid}"
							styleClass="comboFormNuevo">
							<f:selectItem itemLabel="ESCOJA UN CAJERO" id="comboFormNuevo" />
							<f:selectItems value="#{localBean.listaCajeros}" var="cajero"
								itemValue="#{cajero.id}"
								itemLabel="#{cajero.cedula}-#{cajero.apellido} #{cajero.nombre}" />
						</p:selectOneMenu>
						<p:commandButton icon="ui-icon-plus"
							actionListener="#{localBean.insertarCajero}"
							validateClient="true"
							update="comboCajeros, tablaCajero, :mensaje" />
					</h:panelGrid>
					<p:dataTable id="tablaCajero" var="encargado"
						value="#{localBean.listaLocalEmpleadoCargo}"
						rowStyleClass="#{encargado.activo eq true ? null:'desactivo'}">
						<p:column headerText="#{msg['lbl.gestionar']}"
							style="text-align:center;">
							<p:tooltip for="btnEliminar"
								value="#{encargado.activo eq true ? msg['lbl.desactivar']:msg['lbl.activar']}" />
							<p:commandButton id="btnEliminar" update=":formCajeroEliminar"
								oncomplete="PF('cajeroDialogoEliminar').show()"
								icon="#{encargado.activo eq true ? 'ui-icon-close':'ui-icon-check'}">
								<f:setPropertyActionListener value="#{encargado}"
									target="#{localBean.encargado}" />
							</p:commandButton>
						</p:column>
						<p:column headerText="CEDULA">
							#{encargado.empleadocargo.empleado.persona.cedula}
						</p:column>
						<p:column headerText="NOMBRE">
							#{encargado.empleadocargo.empleado.persona.apellido} #{encargado.empleadocargo.empleado.persona.nombre}
						</p:column>
					</p:dataTable>
					<f:facet name="footer">
						<p:separator />
						<p:commandButton value="#{msg['btn.guardar']}" update=":mensaje"
							oncomplete="comprobarListaCajeros(xhr, status, args)"
							actionListener="#{localBean.guardarCajeros}" icon="ui-icon-disk" />
						<p:commandButton value="#{msg['btn.cancelar']}"
							oncomplete="PF('cajerosDialogoNuevo').hide()"
							icon="ui-icon-close" />
					</f:facet>
				</h:panelGrid>
			</h:form>
		</p:dialog>

		<script type="text/javascript">
			//<![CDATA[
			function comprobar(xhr, status, args) {
				if (!args.validationFailed && args.error) {
					PF('localDialogoNuevo').hide();
					PF('localDialogoEditar').hide();
				}
			}

			function comprobarListaCajeros(xhr, status, args) {
				if (!args.error) {
					PF('cajerosDialogoNuevo').hide()
				}
			}
			//]]>
		</script>
	</ui:define>
</ui:composition>
</html>